home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / edit / mg2a_src.zip / MG2A.CHA < prev    next >
Text File  |  1988-08-23  |  6KB  |  124 lines

  1. Here is a list of some of the changes from Mg version 1b to 2a, in
  2. reverse semi-cronological order.  Much is only of interest if you are
  3. modifying Mg.  Some things may only apply relitive to beta versions.
  4. (I tried to edit these out.)
  5.  
  6.  
  7.     The kill buffer should now avoid growing bigger than possible.
  8. (malloc takes an unsigned arg, which may only be 16 bits.)  This is a
  9. temporary hack until the kill buffer code is rewriten.
  10.  
  11.     Bcopy is NOT used properly, the third argument should be declared
  12. unsigned but isn't.  16 bit int systems need to treat the third agument
  13. as unsigned.
  14.  
  15.     Added functions set-default-mode, global-unset-key, and
  16. local-unset-key.  dired_ functions in system dependent code now need
  17. to set bp->b_nmodes to 0.
  18.  
  19.     Function key binding should finally work properly.  #define FKEYS
  20. if you have function keys that don't fit into a char.
  21.  
  22.     Termcap XKEYS code completly rewritten.  It does not use the FKEYS
  23. code.  Terminal-dependant initialization files may now be present.
  24.  
  25.     System dependent routine startupfile now takes a single char *
  26. arguement.  It is NULL for the normal startup file, the terminal type
  27. name for the terminal dependent file.  The BSD version no longer tries
  28. to use .emacs if .mg isn't found.  BSD, SYS V, and OSK versions can
  29. look for a system-wide startup file if STARTUPFILE is #defined to the
  30. directory to look in.
  31.  
  32.     Extend.c now has a dependancy on key.h.
  33.  
  34.     Insert-file now uses adjustname.
  35.  
  36.     Optional SYSCLEANUP macro.
  37.  
  38.     Various changes to make mg smaller and faster.
  39.  
  40.     Portability issuses: Identifiers should now be unique in first 7
  41. chars.  (Change dired_makename to d_makename in fileio.c.) Lint found
  42. various bugs. 
  43.  
  44.     Character set dependent portion of def.h moved to
  45. sys/default/chrdef.h.  Cinfo.c moved there.  tty/termcap/* moved
  46. there. 
  47.  
  48.     Bug fixes: insert-file, fill-paragraph, startup code, "make lint"
  49. in bsd makefile.
  50.  
  51.     "varargs.h" in sys/default is for systems that worked with the
  52. non-varargs code on mg1.  It does not work on systems that don't
  53. happen to pass arguments that way.
  54.  
  55.     fncmp is now also used to compare buffer names.  Buffer names are
  56. now case sensitive iff file names are.
  57.  
  58.     The #ifndef ... in some files moved after the #include "def.h".
  59. This should be better for systems that define various things in
  60. sysdef.h.  Let me know what I missed.
  61.  
  62.     Minibuffer and search commands modified so ^H does the same as ^?,
  63. ^\ as ^Q, and ^] as ^S.  bsmap-mode may be done by key bindings,
  64. flow-mode still needs to toggle system-dependent capture of ^S/^Q.
  65. re_search.c probably needs to change also.
  66.  
  67.     dired mode.     (requires a significant amount of system dependent code.)
  68.  
  69.     Two case, non-case sensitive systems are now fully supported.  The
  70. routine fncmp is used to compare file names.  (strcmp may be used on
  71. monocase or case sensitive systems.)
  72.  
  73.     If NO_DIR is not defined, adjustname (the replacement for
  74. adjustcase) must append the directory name to the filename if it
  75. doesn't have one already.
  76.  
  77.     Cleanup and rearangement.  symbol.c has been renamed to keymap.c.
  78. The key name function has been moved to cinfo.c to reduce the number
  79. of files dependent on character set.
  80.  
  81.     The terminal type determining code has been moved out of
  82. sys/default/tty.c.  For unix systems, just "#define gettermtype()
  83. getenv("TERM")".  For VMS and Primos, it's a bit more compicated.
  84.  
  85.     I made some changes to the regular expression code to get it to
  86. compile under os9/68k.    It now compiles, but requires a number of
  87. routines not present in the library that would be difficult to
  88. implement.
  89.  
  90.     lalloc has be rewriten and split into lallocx (for lines not
  91. expected to grow) and lalloc.  The OFFSET macro may have to be defined
  92. in the system dependent file if the normal definition supplied will
  93. not work with your compiler.  (I considered alternatives, but could
  94. not think of one that used as little storage.  Use the offsetof macro
  95. if your compiler conforms to the ANSI C draft standard.)  The
  96. MALLOCROUND macro should be defined if you can predict the behavior of
  97. your libraries malloc.    It takes a single lvalue arguement, and rounds
  98. it up to the amount of memory that realy would be allocated by a
  99. malloc of that size.  (This is most important on memory tight systems.)
  100.  
  101. Apropos is new.     It has a few minor problems:  slow, displays only
  102. global key bindings, dosn't like lots of keys bound to the same
  103. function.  (Digit-argument is closest to causing problems.)  Its
  104. output should probably be the basis of future functions files.
  105.  
  106. The file reading and writing code has changed to fix a couple of
  107. long-standing bugs.  Files no longer get an extra newline at the end
  108. of the last line if it doesn't have one.  Line length is now only
  109. limited by memory and how big a number will fit in a short int.     See
  110. description below on what needs to change.
  111.  
  112. Umpteen minor bugs fixed.  If anyone is doing serious development
  113. based on 1b, some should be merged back in.  (Kill-buffer had several
  114. bugs, help didn't redisplay properly if the *help* buffer was already
  115. present, etc.)
  116.  
  117. The display wrap code is better that what was done before, but not at
  118. all what GNU emacs does in the same situation.
  119.  
  120. Compile options have been changed to make those things present in GNU
  121. emacs the default.   Compile-time options to turn on features not in
  122. GNU emacs and to turn of features that are in GNU emacs are documented
  123. below.
  124.